package me.learningandroid.ch2_1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;

import java.util.ArrayList;

// activity活动是一个用户可见的界面
// 所有activity须要继承自Activity，这里通过兼容库中的AppCompatActivity间接继承
public class MainActivity extends AppCompatActivity {

    // onCreate 是个activity 生命周期回调函数，在activity创建时调用，一般用来初始化界面
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // R是个特殊对象，由Android运行环境提供，代码中不需要引入或者申明，
        // R包含各种资源Id，包括layout，string， array，color，drawable等
        // 这些资源的定义在res目录中的layout，values，drawable目录中
        setContentView(R.layout.activity_main);

        // layout中的id，通过属性R.id.<idname>获取
        // `findViewById`通过ID在布局中找到响应的组件
        Button btn = (Button) findViewById(R.id.button);
        TextView text = (TextView) findViewById(R.id.textView);
        btn.setOnClickListener((view) -> {
            // 安卓提供Log类来记录日志，其中的静态方法`v`, `d`, `i`, `w`, `e` ,`wtf`记录不同等级的日志。
            Log.d(this.getLocalClassName(), "按钮btn点击事件");
            // 在程序中获取资源的值，需要通过`Activity.getResources()`获取`Resource`对象,调用它的`getString`等方法获取
            // 例如获取字符串值：`String str = getResources().getString(R.string.helloworld);`
            // 例如获取字符串数组：`String[] strArray = getResources().getStringArray(R.array.numbers);`
            if (text.getText().equals(getResources().getString(R.string.helloworld))) {
                text.setText(R.string.helloworldzn);
            } else {
                text.setText(R.string.helloworld);
            }
        });


        Button btnQuit = (Button) findViewById(R.id.buttonQuit);
        btnQuit.setOnClickListener((view) -> {
            finish();
        });
    }


}